package com.cby.leetcode.二分查找.LC153;

/**
 * 只需要比较 x 和 nums[n−1] 的大小关系，就间接地知道了 x 和数组最小值的位置关系 ==> 二分查找
 * 以 4，5，6，1，2，3 为例，第一次二分下标mid对应值6，大于下标最后的值3，说明最小值在后半段1，2，3中
 * 以 5，6，1，2，3，4 为例，第一次二分下标mid对应值1.小于下标最后的值4.说明最小值在前半段或者就是自己
 */

public class LC153 {
}

class Solution{

    public int findMin(int[] nums) {
        int left = 0;
        int right = nums.length - 1;

        while(left <= right){
            int mid = (left + right) >>> 1;
            if(nums[mid] > nums[nums.length - 1]){
                left = mid + 1;
            }
            else
                right = mid - 1;
        }

        return nums[left];
    }

}
